package com.landinfo.service.dto;

import com.alibaba.fastjson.annotation.JSONField;

import java.time.ZonedDateTime;
import java.io.Serializable;
import java.util.Objects;
import javax.persistence.Lob;

/**
 * A DTO for the ViewDataManage entity.
 */
public class ViewDataManageDTO implements Serializable {

    private String id;

    private String bigType;
    private String name;
    private String enName;

    private String code;

    private String position;

    private String chartType;

    private String xName;
    private String yName;

    @Lob
    private String countConfig;

    @Lob
    private String content;

    @Lob
    private String chartConfig;

    @JSONField(format = "yyyy-MM-dd'T'HH:mm:ss.000")
    private ZonedDateTime updateTime;

    private Boolean enable;

    private String remark;

    // 覆盖旧的
    private Boolean coverOld;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getCountConfig() {
        return countConfig;
    }

    public void setCountConfig(String countConfig) {
        this.countConfig = countConfig;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getChartConfig() {
        return chartConfig;
    }

    public void setChartConfig(String chartConfig) {
        this.chartConfig = chartConfig;
    }

    public ZonedDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(ZonedDateTime updateTime) {
        this.updateTime = updateTime;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }

        ViewDataManageDTO viewDataManageDTO = (ViewDataManageDTO) o;
        if (viewDataManageDTO.getId() == null || getId() == null) {
            return false;
        }
        return Objects.equals(getId(), viewDataManageDTO.getId());
    }

    @Override
    public int hashCode() {
        return Objects.hashCode(getId());
    }

    @Override
    public String toString() {
        return "ViewDataManageDTO{" +
            "id=" + getId() +
            ", name='" + getName() + "'" +
            ", code='" + getCode() + "'" +
            ", countConfig='" + getCountConfig() + "'" +
            ", content='" + getContent() + "'" +
            ", chartConfig='" + getChartConfig() + "'" +
            ", updateTime='" + getUpdateTime() + "'" +
            ", remark='" + getRemark() + "'" +
            "}";
    }

    public String getEnName() {
        return enName;
    }

    public void setEnName(String enName) {
        this.enName = enName;
    }

    public String getChartType() {
        return chartType;
    }

    public void setChartType(String chartType) {
        this.chartType = chartType;
    }

    public String getxName() {
        return xName;
    }

    public void setxName(String xName) {
        this.xName = xName;
    }

    public String getyName() {
        return yName;
    }

    public void setyName(String yName) {
        this.yName = yName;
    }

    public String getPosition() {
        return position;
    }

    public void setPosition(String position) {
        this.position = position;
    }

    public Boolean getEnable() {
        return enable;
    }

    public void setEnable(Boolean enable) {
        this.enable = enable;
    }

    public Boolean getCoverOld() {
        return coverOld;
    }

    public void setCoverOld(Boolean coverOld) {
        this.coverOld = coverOld;
    }

    public String getBigType() {
        return bigType;
    }

    public void setBigType(String bigType) {
        this.bigType = bigType;
    }
}
